import {MessageBox,Message,Notification,Loading} from "element-ui";

/**
* @author 张天丰
* @date 2020/8/21
* @Description：confirm确认框
* @param：title：标题 hint：提示 type：类型(success / info / warning / error)
* @return：Promise
*/
const $confirm = (title,hint,type)=>{
  return new Promise((resolve,reject) => {
    MessageBox.confirm(title||'确定要删除吗？', hint||'友情提示', {
      confirmButtonText: '确定',
      cancelButtonText: '取消',
      type: type
    }).then(() => {
      resolve();
    }).catch((err) => {
      reject(err);
    });
  })
}

/**
* @author 张天丰
* @date 2020/8/21
* @Description：弹框提示可换行
* @param：message:提示内容 title：标题 type：类型(success/warning/info/error)
*/
const strongAlert = (message,title,type)=>{
    message=message||"这是一段内容"
  MessageBox.alert('<p>'+message+'</p>',title||'友情提示',{
    dangerouslyUseHTMLString: true,
    type:type
  })
}
/**
* @author 张天丰
* @date 2020/8/21
* @Description：弱提示
* @param：message:提示内容 type：提示类型(success/warning/info/error) duration：显示时间：毫秒
*/
const weakAlert = (message,type,duration)=>{
  Message({message:message||'操作成功',type:type||'warning',duration:duration||3000})
}
/**
* @author 张天丰
* @date 2020/8/21
* @Description：悬浮出现在页面角落，显示全局的通知提醒消息
* @param：title：标题,message：内容,type：类型(success/warning/info/error),
 * showClose：是否显示关闭按钮,position：位置(top-right/top-left/bottom-right/bottom-left)
*/
const notify = (title,message,type,showClose,position)=>{
  Notification({
    title:title||'温馨提示',
    message:message||'这是一条成功消息！',
    type:type,
    showClose:showClose||true,
    position:position||'top-right',
    duration:4500,//显示时长毫秒0则不会关闭
  })
}
/**
* @author 张天丰
* @date 2020/8/21
* @Description：加载数据时显示动效。
* @param：text:加载提示语
* @return：Loading
*/
const $loading = (text)=>{
   return Loading.service({
      lock: true,
      text: text || 'Loading',
      spinner: 'el-icon-loading',
      background: 'rgba(0, 0, 0, 0.7)'
    });
}

export{$confirm, strongAlert, weakAlert, notify, $loading}

